<template>
  <div class="wrapper">
  <!--判断条件的作用是只有ajax或取到数据后才创建swiper，否则轮播会先展示最后一张，因为swiper一开始根据空数组创建的，此种写法不够优雅<swiper :options="swiperOption" v-if="list.length">最好采用计算属性-->
    <swiper :options="swiperOption" v-if="showSwiper">
      <swiper-slide v-for="item of list" :key="item.id">
        <img class="swiper-img" :src="item.imgUrl">
      </swiper-slide>
      <div class="swiper-pagination"  slot="pagination"></div>
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HomeSwiper',
  props: {
    list: Array
  },
  // 子组件中定义data时data得是一个函数下面是ES6的写法可以省略:function
  data () {
    return {
      swiperOption: {
        pagination: '.swiper-pagination', // 轮播图小点
        loop: true // 循环轮播
      }
    }
  },
  computed: {
    showSwiper () {
      return this.list.length
    }
  }
}
</script>

<style lang="stylus" scoped>
// 样式穿透 解除scoped的限制 轮播图小点颜色
.wrapper >>> .swiper-pagination-bullet-active
  background : #fff
// wrapper 防止抖动
.wrapper
  //高宽比55%
  overflow: hidden
  width: 100%
  height:0
  padding-bottom: 55%
  background: #ccc
  .swiper-img
    width:100%
</style>
